
var prefix = "/jzweb/examinationBatchCom";
let typesRace = window.location.href.split('?')[1].split('=')[1];
sessionStorage.setItem('types',typesRace);
$(function() {
	// getExamList();
	load();
});





// function getExamList(){
// 	$.ajax({
// 		type : 'post',
// 		url : '/jzweb/mark/selEbatchIdLiLuen',
// 		contentType: 'application/json',
// 		data: JSON.stringify( {competitionType:sessionStorage.getItem("competitionTypes") ? sessionStorage.getItem("competitionTypes") : 'null'} ),
// 		success : function(r) {
// 			if (r.code == 0) {
// 				//console.log("r"+JSON.stringify(r))
// 				var str = '';
// 				r.data.map(function (v,k){
// 					str += `<option name="${v.cbatchId}" value="${v.id}">${v.name}</option> `
// 				})
// 				$("#id").html(str);
// 				getCaiData();
// 			} else {
// 				layer.msg(r.msg);
// 			}
// 		}
// 	});
// }

function load() {
	$('#exampleTable').bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/list", // 服务器数据的加载地址
					//	showRefresh : true,
					//	showToggle : true,
					//	showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						// onlyInfoPagination:true,
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						//search : true, // 是否显示搜索框
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示s分页条
						// onlyInfoPagination:true,
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						pageSize : 10, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值 为"client" 或者 "server"
						queryParamsType : "",


						// id : 'id',
						// code :'id',
						// parentCode : 'pid',
						// bordered : true, // 是否显示边框
						// expandAll : false, // 是否全部展开
						// detailView: true,//父子表
						// expandColumn : '0',// 在哪一列上面显示展开按钮

						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
							     pageNumber : params.pageNumber,
                                  pageSize : params.pageSize,
								name:$('#name').val(),
								type:typesRace,
								competitionType:sessionStorage.getItem('competitionTypes')
					           // username:$('#searchName').val()
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            console.log(res);
                            return {
                                "total": res.data.total,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns: [
							{
								checkbox: true
							},
							{
								field: 'name',
								title: '标题',
								width: '200px'
							},
							{
								field: 'state',
								title: '考试状态',
								width: '100px',
								formatter: function (value, row, index) { //（0待审核、1已通过，2未通过，3开始登录，4考试中，5已考完，6已生成试卷，9已删除）
									if (value == 0) {
										return '<span class="label label-warning">待审核</span>';
									} else if (value == 1) {
										return '<span class="label label-success">已通过</span>';
									} else if (value == 2) {
										return '<span class="label label-danger">未通过</span>';
									} else if (value == 3) {
										return '<span class="label label-info">开始登录</span>';
									} else if (value == 4) {
										return '<span class="label label-important">考试中</span>';
									} else if (value == 5) {
										return '<span class="label label-warning">已考完</span>';
									} else if (value == 6) {
										return '<span class="label label-inverse">已生成试卷</span>';
									} else if (value == 9) {
										return '<span class="label label-default">已删除</span>';
									}
								}
							},
							{
								field: 'passMark',
								title: '考试时间',
								width: '400px',
								formatter:function (value,row,index){
									if( row.startTime && row.endTime ){
										return row.startTime + ' ~ ' + row.endTime
									}
								}
							},
							{
								field: 'type',
								title: '竞赛方式',
								width:'100px',
								formatter: function (value, row, index) { //（0理论考试，1技能考试，2社会实践）
									if (value == 0) {
										return '<span class="label label-success">理论考试</span>';
									} else if (value == 1) {
										return '<span class="label label-danger">技能考试</span>';
									} else if (value == 2) {
										return '<span class="label label-default">社会实践</span>';
									}else if (value == 3) {
										return '<span class="label label-default">竞赛</span>';
									}else if (value == 4) {
										return '<span class="label label-default">实操竞赛</span>';
									}
								}
							},
							// {
							// 	field: 'totalScore',
							// 	title: '试题数量',
							// 	width:'100px'
							// },
							{
								field: 'startTime',
								title: '创建时间'
							},
							{
								title: '操作',
								field: 'id',
								align: 'center',
								formatter: function (value, row, index) {
									var f = `<a class="btn btn-success btn-sm  ${s_edit_h}" href="#" title="添加赛场"  mce_href="#" onclick="adds(${index})" data-id="${row.id}" data-cbatchid="${row.cbatchId}"><i class="fa fa-plus"></i>添加</a>`;
									var e = `<a class="btn btn-primary btn-sm ${s_edit_h}" data-id="${row.id}" data-cbatchid="${row.cbatchId}" href="#" mce_href="#" title="编辑" onclick="edit(this)"><i class="fa fa-edit" ></i></a>`;
									var d = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
										+ row.id
										+ '\')"><i class="fa fa-remove"></i></a>';
									var t = `<a class="btn btn-primary btn-sm ${s_edit_h} " data-id="${row.id}" data-index="${index}" data-cbatchid="${row.cbatchId}" href="#" mce_href="#" title="编辑" onclick="edits(this)"><i class="fa fa-edit"></i></a>`;
									var g = `<a class="btn btn-success btn-sm ${s_scoring_h}" href="#" title="打分"  mce_href="#" onclick="markingPapers(${index})"><i class="fa fa-pencil"></i>打分</a>`;
									var ds = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="removes(\''
										+ row.id
										+ '\')"><i class="fa fa-remove"></i></a>';

									if( row.pid ){
										return t + ds+g;
									}
										return f+e + d;

								},
								width: '230px'
							}],

						//指定子id
						idField: 'id',
						expandAll: false, // 是否全部展开
						//在哪一列展开树形
						treeShowField: 'name',
						//指定父id列
						parentIdField: 'pid',

						onResetView: function (data) {
							//console.log('load');
							$('#exampleTable').treegrid({
								// initialState: 'collapsed',// 所有节点都折叠
								initialState: 'expanded',// 所有节点都展开，默认展开
								treeColumn: 1,
								// expanderExpandedClass: 'glyphicon glyphicon-minus',  //图标样式
								// expanderCollapsedClass: 'glyphicon glyphicon-plus',
								onChange: function () {
									$('#exampleTable').bootstrapTable('resetWidth');
								}
							});

							//只展开树形的第一级节点
							// $('#exampleTable').treegrid('getRootNodes').treegrid('expand');

						},
						onCheck: function (row) {
							var datas = $('#exampleTable').bootstrapTable('getData');
							// 勾选子类
							selectChilds(datas, row, "id", "pid", true);

							// 勾选父类
							selectParentChecked(datas, row, "id", "pid")

							// 刷新数据
							$('#exampleTable').bootstrapTable('load', datas);
						},

						onUncheck: function (row) {
							var datas = $('#exampleTable').bootstrapTable('getData');
							selectChilds(datas, row, "id", "pid", false);
							$('#exampleTable').bootstrapTable('load', datas);
						},

					});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}
function adds(index) {
	// console.log(prefix + '/adds/?id='+$(that).attr('data-id') +'&cbatchId='+ $(that).attr('data-cbatchid'))
	var list = $("#exampleTable").bootstrapTable('getData')[index];
	const store = {
		id: list.id,
		modileId: list.modileId,
		cbatchId: list.cbatchId,
		name: list.name,
		ebatchId: list.pid,
		competitionType: list.competitionType
	};

	if( list.state == 0 || list.state == 2 || list.state == 9 ){
		layer.msg('请通过审核在创建')
		return false;
	}

	sessionStorage.setItem('store', JSON.stringify(store) );
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/adds/?id='+list.id+'&cbatchId='+ list.cbatchId// iframe的url
	});
}

function edits(that){
	var list = $("#exampleTable").bootstrapTable('getData')[$(that).attr('data-index')];
	console.log(list)
	// sessionStorage.setItem('store', JSON.stringify(list) );
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edits/?id='+$(that).attr('data-id')+'&cbatchId='+ $(that).attr('data-cbatchid') +'&competitionType='+ list.competitionType // iframe的url
	});
}

function add() {
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '60%', '520px' ],
		content : prefix + '/add' // iframe的url
	});
}
function edit(that) {
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edit/'+$(that).attr('data-id')// iframe的url
	});
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix+"/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function removes(id){
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : "/jzweb/examinationBatchComS/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function markingPapers(index) {

	var list = $("#exampleTable").bootstrapTable('getData')[index];
	const store = {
		id: list.id,
		modileId: list.modileId,
		cbatchId: list.cbatchId,
		name: list.name,
		ebatchId: list.pid,
		competitionType: list.competitionType
	};

	sessionStorage.setItem('store', JSON.stringify(store) );

	// $.ajax({
	// 	type : 'get',
	// 	data : {
	// 		"id" : list.id
	// 	},
	// 	url : '/jzweb/stuSignUpScoring/resultListYesOrNo',
	// 	success : function(r) {
	// 		if (r.code == 0) {
	//
	// 		} else {
	// 			layer.msg(r.msg);
	// 		}
	// 	}
	// });

	var ebatchId = 0;
	layer.open({
		type : 2,
		title : '实操打分',
		maxmin : false,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '100%', '100%' ],
		content : '/jzweb/stuSignUpScoring?ebatchId='+list.cbatchId +'&competitionType='+ sessionStorage.getItem('competitionTypes') +'&modileId='+ list.modileId +'&court2='+ list.id // iframe的url
	});

}

function resetPwd(id) {
}

function batchRemove() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return;
	}
	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
	// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchRemove',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}

function leadFile(id){

	layer.open({
		type: 1,
		area:['300px','150px'],
		content: `
				<div class="columns pull-left" style="margin-left:4px">
					<form shiro:hasPermission="jzweb:stuSignUpCom:import" id="importExcelForm" method="post" enctype="multipart/form-data">
					<input class="form-control" style="width:200px" name="file" id="fileUrl" type="file">
				</div>
			`
		,btn: ['确定', '取消']
		,yes: function(index, layero){

			var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
			parent.layer.close(index);
			importComExcelFile($('#fileUrl'),$('#importExcelForm'),id,'/jzweb/stuSignUpCom/import')

		}

	});

	//
}

//导入
function importComExcelFile(fileObj, formObj,cbatchId,url) {
	if (cbatchId==null||cbatchId==''){
		layer.msg('请选择考试批次后导入!');
	}else {
		var fileUrl = fileObj.val();
		var suffix = fileUrl.substr(fileUrl.lastIndexOf(".")).toLowerCase();//获得文件后缀名
		if (suffix == '.xls' || suffix == '.xlsx') {
			if (fileUrl) {
				formObj.ajaxSubmit({
					type: "post",
					url: url,
					data: {cbatchId: cbatchId,type:typesRace},
					dataType: "json",
					success: function (data) {
						console.log("data",data);
						if (data.code == 0) {
							layer.msg(data.msg);
							$('#exampleTable').bootstrapTable('refresh');
						} else if (data.code ==41304 ) {
							layer.confirm('是否下载错误报告？', {
								btn1:function(index){
									window.location.href = '/jzweb/stuSignUp/importComError';
									layer.close(index)
								}
							});
						} else{
							layer.msg(data.msg);
						}
					}, error: function (XMLHttpRequest, textStatus, errorThrown) {
						console.log(XMLHttpRequest, textStatus, errorThrown)
						layer.msg('出错了!');
					}
				});
			} else {
				layer.msg('上传的文件不可为空');
				// parent.$.messager.alert('警告', "上传的文件不可为空", 'warning');
			}
		} else {
			layer.msg('请上传正确的Excel表格!');
			// $.messager.alert('警告', "", 'warning');
		}
	}
}